SPAD arrays can be used for a variety of applications, including for ranging, for Z (i.e. depth) or three-dimensional (3D) gesture recognition, and for 3D imaging. A device for such applications generally comprises a light source for transmitting a light pulse into the image scene. The light reflected back from any object in the image scene is detected by the SPAD array, and is used to determine the time of flight of the light pulse. The distance from object to the device can then be deduced based on this time of flight.
The detection by the SPAD array of the returning light pulse is based on event detection in the cells of the SPAD array. In particular, each cell will provide an output pulse when a photon is detected, and by monitoring the events, the arrival time of the return pulse can be estimated.
The total number of events detected by the SPAD array within a given time period will vary as a function of factors, such as the ambient light, the target reflectance, the emitted power, the SPAD sensitivity, and the distance to the target object. A problem may be that, when the number of detected events is high, the measurement accuracy of the SPAD array can deteriorate.